package com.wangyb.wework.entity.contact;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 客户群列表对象 ww_groupchat
 *
 * @author wangyb
 * @date 2021-07-08
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("ww_groupchat")
public class WwGroupchat implements Serializable {

	private static final long serialVersionUID=1L;


	/** $column.columnComment */
	@TableId(value = "id")
	private Long id;

	/** 企业表ID（ww_corp.id） */
	private Long corpId;

	/** 客户群ID */
	@JSONField(name = "chat_id")
	private String wxChatId;

	/** 客户群名称 */
	@JSONField
	private String name;

	/** 群主ID（ww_employee.id） */
	private Long ownerId;

	@JSONField(name = "owner")
	private String ownerWxUserid;

	/** 群公告 */
	private String notice;

	/** 客户群状态（0 - 正常 1 - 跟进人离职 2 - 离职继承中 3 - 离职继承完成） */
	@JSONField
	private Integer status;

	/** 群状态 (1 - 正常，-1 已解散) */
	private Integer state;

	/** 群创建时间 */
	@JSONField(name = "create_time",format="unixtime")
	private Date createAt;

	/** 群成员上限 */
	@TableField("`max`")
	private Integer max;

	/** 分组id（ww_groupchat_category.id） */
	private Long categoryId;

	/** $column.columnComment */
	@TableField(fill = FieldFill.INSERT)
	private Date createTime;

	/** $column.columnComment */
	@TableField(fill = FieldFill.INSERT_UPDATE)
	private Date updateTime;

	@JSONField(name = "member_list")
	@TableField(exist = false)
	private List<WwGroupchatMember> memberList;

	@JSONField(name = "admin_list")
//	@TableField(exist = false)
	private String adminList;

	@Data
	public static class User{
		@JSONField
		private String userid;
	}

}
